v0.64.56.4
Added: Sprite view in VIC Editor also shows sprite pointer value (requested by Dr.J)
Added: You can zoom in and out using mouse wheel within zoomed screen view
Added: You can set C64 screen texture supersampling factor in Settings
Added: Opening SID tunes: conversion is done using psid64 by Roland Hermans! You can now drag & drop SID tune onto debugger's window and it will be played. You can also just load the SID into RAM. Select preferred behavior in Settings.
Added: Simple debugger emulation API to create own plugins for code proof of concepts (early draft)
Added: Champ 6502 profiler integration (early draft)
Added: NestopiaUE emulator engine aka NES Debugger (early draft)
Bug Fixed: Comparing commands in monitor was not properly matching command names that overlap
Bug Fixed: Memory dump to file was not properly reading values of address $00 and $01 (thanks to Bacchus/Fairlight)
Bug Fixed: Detach tape was not saving settings and tape was always reattached again after restart (thanks to Bacchus/Fairlight)
Bug Fixed: Saving on d64 disk was not flushing data on quit, now a periodic check is performed that flushes data (thanks to Isildur/Samar)
Bug Fixed Linux: When system open/file dialogs were not used and folder was not existing a fatal error was thrown (thanks to Tetsuo/Samar)
Bug Fixed MacOS: Sometimes a mixture of CMD key and other key does not send KeyUp event to the application in MacOS, workaround applied

ADD Bacchus TO TESTERS IN CSDB

bug: run olny atari
error : NES thread allocated too much ram



v0.64.56.2
Added: You can right-click on a C64 Screen in any layout to change display mode: screen, zoomed raster, VIC Display
Added Atari: ANTIC/GTIA/PIA/POKEY states view, loading and saving snapshots (a8s), breakpoints screen
Changed: Emulation is paused while saving snapshot (Ctrl+S)
Bug Fixed: Tabs in source files were displayed as "A" (thanks to Scan/House)
Bug Fixed: Breakpoint red markers in disassembly are now properly displayed when loaded from dbg symbols file (thanks to Scan/House)
Bug Fixed: Breakpoints in some Segments from dbg symbols file were set on by default (thanks to Scan/House)
Bug Fixed: NMI breakpoint is fixed (thanks to Scan/House)
Bug Fixed: Crash when editing $d418 register with selected ReSID-fp emulation engine
Bug Fixed: Adding a breakpoint on Breakpoints view did not set breakpoint switch
Bug Fixed: Empty breakpoints.txt file could cause crash (thanks to Yugorin/Samar)
Bug Fixed Windows: On some keyboards with AltGr (Polish, German, ...) the Right-Alt sends also Left-Ctrl keypress events. A workaround to skip bogus Left-Ctrl when Right-Alt is pressed was applied


--TODO--

TODO: SYS_ApplicationShutdown in windows/linux


DONE: tak sobie mysle ze brakuje mi tu opcji drop sid i rozpakuj go w ram bez ruszania reszty np na live w demku podmieniac sid


snapshot manager w widoku ctrl+f5 states: liczenie ramki od 0 tj od run - to juz mam gotowe w jukebox, po prostu tylko wyswietlac liczbe na ekranie trzeba, przycisk snapshot nagrywa snapshot z numerem klatki - i dodaje go do wyswietlanej listy na ekranie co sie przewija w gore

klik w numer klatki przenosi do tego snapshota


BUG: even if sid mute is on, the audio driver makes clicks on step code f10 (reported by golara)

BUG: https://csdb.dk/release/?id=174932 <- a propos zawiesza, tutaj sie zawiesza odczyt z dysku jak robie autorun


if possible to add the display memory contents as PETSCII data could be really helpful . on the vice its the "i" command , e.g. I 0400 07e7

https://www.lemon64.com/forum/viewtopic.php?t=43279&sid=2d37c01b63ead139ff1e96300ae8904d

* REU
static const ui_menu_entry_t reu_menu[] = {

file_string_REUfilename_callback
c64_cart_flush_callback		CARTRIDGE_REU
c64_cart_save_callback		CARTRIDGE_REU

int cartridge_save_image(int type, const char *filename)
cartridge_save_image(CARTRIDGE_REU, name)


/*! \brief integer resources used by the REU module */
static const resource_int_t resources_int[] = {
{ "REUImageWrite", 0, RES_EVENT_NO, NULL,
&reu_write_image, set_reu_image_write, NULL },
{ "REUsize", 512, RES_EVENT_NO, NULL,
&reu_size_kb, set_reu_size, NULL },
/* keeping "enable" resource last prevents unnecessary (re)init when loading config file */
{ "REU", 0, RES_EVENT_STRICT, (resource_value_t)0,
&reu_enabled, set_reu_enabled, NULL },
RESOURCE_INT_LIST_END
};


* VIRTUAL FILE SYSTEM
"File system access", if enabled, allows the device to emulate a drive accessing a file system directory; note that when a disk image is attached to the same drive, the directory is no longer visible and the attached disk is used instead.
"File system directory" specifies the directory to be accessed by the drive.
"Convert P00 file names", if enabled, allows access to P00 files using their built-in name instead of the Unix one.
"Create P00 files on save", if enabled, creates P00 files (instead of raw CBM files) whenever a program creates a file.
//////


https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fwww.c64-wiki.de%2Fwiki%2FNuvie


////




I think I'll leave it but will change the text displayed when joystick is turned on
to say that joystick is on port #1 and #2 🙂
Bacchus: Toggle joystick off, 1, 2 and both?



=== NES ======
TODO: store cart ROM with snapshot bool NesDebugInterface::LoadFullSnapshot(char *filePath)

TODO: ADD isCartLoaded to stop emulation frame when there's no cart. HINT: can be debug pause?
TODO: ADD select ROMs folder in NES
TODO: select XML database with ROMs md5

TODO: add circular buffer for audio sync

int nstmain(int argc, char *argv[]) {
info->valid_extensions = "nes|fds|unf|unif";

const retro_game_geometry geom = {
Api::Video::Output::WIDTH - (overscan_h ? 16 : 0),
Api::Video::Output::HEIGHT - (overscan_v ? 16 : 0),
Api::Video::Output::NTSC_WIDTH,
Api::Video::Output::HEIGHT,
get_aspect_ratio(),

========

TODO: highlight sprite in VIC status on mouse over in Vic Display.

TODO: selected sprite should be outlined in vic editor

TODO: add automatic scaling of image to 320x200 in vic editor import

TODO: goto label
TODO: add/remove/edit watch

TODO: finish CHAMP profiler -> + watches/labels   /UI menu ?

TODO: VICE monitor

TODO: scroll monitor text

TODO: profiler grapher pokazujący zmiany wartości komórki na wykresie czasowym byłby miodowy ;-)

TODO: find assembly, ie. JSR $1003. the same as command H in monitor, but assembled code

TODO: 1:1 pixel aspect ratio in full screen (and others: what about raster cross factors)

nadal brakuje sid to prg converter do drag&drop

in disassembly shift + right arrow should move down or jump to quickly scroll inwards of procs by just pressing shift + r>

* ATARI
ATARI: atari settings: static void SystemSettings(void)
ATARI: raster break ANTIC_break_ypos == ANTIC_ypos
ATARI: raster ctrl+e ANTIC_xpos/ANTIC_ypos
ATARI: void Screen_DrawAtariSpeed(double cur_time)
ATARI: cartridge 				CARTRIDGE_Remove_Second();
int r = CARTRIDGE_Insert_Second(CARTRIDGE_piggyback.filename);
CARTRIDGE_InsertAutoReboot(CARTRIDGE_main.filename);
CARTRIDGE_RemoveAutoReboot();

ATARI: 	case AFILE_CAS:	case 	case AFILE_CART:case AFILE_ROM:

ATARI: 		if (!StateSav_ReadAtariState(filename, "rb"))
return AFILE_ERROR;
/* Don't press Start nor Option */
GTIA_consol_override = 0;
break;


TODO: Save joystick on/off setting with settings.

DONE: show sprite pointer at sprite dialog in Vic Editor

DONE: DIALOG OPEN FILE CRASH WHEN NO DIRECTORY - TETSUO


TODO: "rejestrator makr w word", tj. jukebox nagrywanie


TODO: integrate profiler https://github.com/specht/champ?fbclid=IwAR26oNd7BO4ztHPzU4x6vK3DgcvIvOdTznMfbP7F4pUAHAedR-8c-qKbqf0

TODO: isildur: nie rysowac sprites na ekranie C64 via VICE: how to optimize this to not slow down emu (void* calls?)
case 1:
render_buffer[i] = COL_D025;
break;
case 2:
render_buffer[i] = COL_D027 + s;
break;
case 3:
render_buffer[i] = COL_D026;
break;



granie ogg w jukebox (->tracker)
set vice volume :)

forever lost z pece!

BUG: disassemble problem screenshot

BUG: atari full screen start not corrected workaround

BUG: RTS -> arrow r does not move into return address (+1 history) click

readme atari debugger


// ctrl+f11 run X instructions/lines (selectable in settings)
// shift+f11 jump to next raster vsync
// run selected number of instructions/cycles


BUG: PROPER AUDIO OUT VOLUME! for 65xe debugger & C64 Debugger -> done in MG Tracker


tap w ekran vic display na innych ekranach robi automatycznie breakpoint w tym cyklu i odpala demko do breakpointa

albo na ekranie pokazac gdzie cpu byl idle / poza przerwaniem


BUG: eksport sprajtów zapisuje tylko pierwszy z brzegu, zamiast wszystkich na ekranie, tak ma być?

TODO: setbkg inc/dec

bug: ctrl+m: set is from ram does not switch Disassemble adapter
bug: execute marker does not distinguish ROM/RAM execution


So my general wish list is:
- Window based structure (also with a pulldown menu based setting structure).
- Improved monitor that does all what the VICE one does plus more.





A cosmetical thing is the settings now. "Emulation" is very little about that. You have sort of "broken out" tape from that. I would sugget a disk and a cart item under "settings" so emulation, disk, tape, cart, audio, memory and UI"


// TODO: export sprite colors and flags
LOGTODO("export sprite colors and flags");

TODO: SystemDialogFileOpenSelected - make delete path when finished callback in Windows & Linux (done in MacOS)

BUG: tetsuo: file select dialog on linux, scroll does not show the last line (last file)

TODO: viceditor żeby zliczał ilość użytych znaków bardzo pomocne przy robieniu grafiki na znaki (isildur)


TODO: Add PLAY OGG in JukeBox player
TODO: add play ogv in jukebox player

TODO BUG: ADD ExtraKey (CMD/Ctrl) support: I cannot get on MacOS *Ctrl*+F10 to step over JSRs, regardless of whether I have "use all F1, F2 etc...

TODO: Does the save icon let me save a charset? Load + Save icons for charset.

BTW tak sobie przypomnialem o tym co kiedys mowilismy - taki quick help do skrotow w VIC Editor i ogolnie c64d

csdb:
https://csdb.dk/privatemessages/viewmessages.php?shownew=1
thumbs up for creation and improvement of c64debugger at first, have been using frequently. i have below issue, noticed while testing previous release, cabal, Cabal +8DFHIR
summary: settings - use keyboard as joystick Y / N might not be reliable, toggling them. tested with latest 0.64.2

i first did:
settings - c64 model = C64 NTSC and hard resetted and
settings - use keyboard as joystick Y

loaded cabal boot file, trainermenu appears, i set above to N to navigate through trainers up and down arrow keys. that's OK.
and then set use keyboard as joystick Y again.
game loads, but joystick seems not working. then i switch above N and then Y and start game. finally, after that toggle, joystick behaviour is out of control!

my system is win7 64 bit, locale TR (i don't think debugger executable has a connection with locale)





//////////////////
BUG: $d800 colour changes in vic state, take default? charset colour strange changes i rogue-2.prg


ctrl+k by mogl te kombinacje zmieniac
tj ctrl+k by po kolei robil
- bez koloru
- kolory z pod kursora myszki
- zestaw 00 0b 0c 0f
- zestaw 0f 0c 0b 00
etc..


isildur 12:49 AM
hmmm a nie prościej byłoby założyć, że user edytuje max 1 zestaw znaków i jeden zestaw kolorów?
załżyć/wymusić?


slajerek 12:50 AM
no nie do konca bo przy podgladaniu sobie demek moze byc odtwrotnie ten bitorder a tak ctrl+k i ma juz dobrze
inaczej za kazdym razem gdzies do menu i ustawiac recznie


isildur 12:51 AM

tak CTRL+K jest dobrym pomysłem, bo aż tak dużo kombinacji nie ma


slajerek 12:51 AM
4-5 sie wcisnie ctrl+k i dostanie cos co moze ma sens

dobra mysle ze moze to nie taki zly pomysl

//////////////////





WATCHES: https://sourceforge.net/p/c64-debugger/tickets/20/
Watches - a watch is essentially a defined range of memory with a label or name. Watches would be displayed with its Name, and Values in HEX/DEC/BIN
Watch Boundries - a Watch should have the ability to be defined using normal memory identifiers such as byte, word, text, etc
Watch View - watches could be displayed on a seperate view along with dissasembly, screen and register information - ideally, one could swap the memory map or data dumps with watches
Quick Watch - pressing ctrl-w from any memory location will create a "quick watch"
Watch Import - have the ability to import watches created from assemblers, etc


ADD NEW WATCH in watches view

TODO: search by name of watch
- search/goto watches / wyszukiwanie watch

TODO: sort watches (by addr, by name)
- sort watches / sortowanie watch

- edycja wartosci watch

TODO: search by name of label
- search/goto labels / wyszukiwanie labelek


TODO: In memory dump Switch to also display watch name (above the value)


TODO: store snapshow as PRG (like action replay's FREEZE)


BUG: Karty w systemie Windows przełączanie = crash.


SHOW LABEL IN MEMORY MAP WHEN ZOOMED IN

DISASSEMBLE SHOW ARGUMENT COLOUR BASED ON MEM ACCESS
disassemble colouring for read/write

EDIT TEXT IN DATA DUMP


memory dump cursor bar horiz & vert


DONE: 65xe debugger set path to roms on macos

FIXED: atari has red outline in F1!


DONE?: disable some layouts in 65xe debugger


DONE: menu for 65xe debugger


DONE: zoom in viceditor with bar moves zoom center

select code with shift+ctrl export with ctrl+c


DONE? przy ladowaniu KLA/ART zrobic tak jak z VCE reset c64


Hard Reset aka CTRL+SHIFT+R will also remove the breakpoints from the list.


could be nice if Load PRG and start (CTRL+L) would create notification like loading a prg to the debugger ,
could be nice "loaded from" start address + end address like you display now


i wish if there option to clear a bunch of breakpoints without disable them . apparntly loading the PRG
or even Hard Reset don't clear the breaks.


BUG: viceditor: it is possible to move window out of the screen and it is then lost



bug: jak jestem na widoku sf5 i robie touch scroll up/down to po przelaczeniu na dowolny widok z memory dump to sie wykonuje niepotrzebny event konczy scroll




update to vice3.2




TODO: update the LibreOffice version of README


BUG: CHARSET (??)


REVIEW can't paint from ux perspective and remove limitations (always paint whatever option)

MG TRACKER: MASTER VOLUME SLIDER FOR THE PRESENTATION 


robi se zooma i wciska enter na memory map na zoomie i pisze wartosci ramu!




gdy jest wybrane w vic display bitmap a jest tryb textowy to teraz jest pokazywane tak jak screen
moze lepiej pokazywac tak jak charset
albo tak jakby to bylo gdyby faktycznie byl wybrany bitmap?


BUG: ??? ctrl+shift+f4 does not refresh sprites (scan ?) ??




BUG: memory map ctrl+m is not generic


BUG: memory map isFromDisk




Right+Click C64 screen on any layout to switch between:
- real c64
- zoomed c64
- vic display style


Atari
LOGM("TODO: configure ROMs");

*TO CHECK* atari joystick
atari snapshots
atari symbols & breakpoints from file
atari watches
atari breakpoints view
atari menu view




czy idzie wylaczyc antyaliasing w debugerze?
bluring powoduje ze moje oczy wariuja (w sensie proboja robic akomodacje, bo maja wrazenie ze obraz jest dalej)
bylo by super jesli dalo by sie wlaczyc "ostrą pixeloze"
Marcin
teraz można wyłączyć tylko na ekranie przedstawiającym C64
elementy UI nie
Andrzej Śliwa
myslisz ze to duza zmiana zeby to zrobic opcjonalnie
?
Marcin
nie powinno byc ciezkie bo mozna to sprobowac przez globalny przelacznik
ale wygladac bedzie tragicznie :}
przynajmniej windows sobie wogole nie daje rady z nearest scale i nie wiem czemu
mac jest OK
Andrzej Śliwa
dlatego zrobienie tego jako optional bylo by fajne
pewnie wiekszosc ludzi tego nie potrzebuje
ale jak ktos ma dobry wzrok i uzywa retiny to oczy swiruja 😀
moglbym cie prosic o dodanie takiej opcji?
Marcin
spoko - dorzucę do TODO, to nie będzie ciężkie 😉
Andrzej Śliwa
daj znac jak pojdzie na "produkcje" 😀
Seen by Andrzej Śliwa at 3:24in the evenin'




BUG: VicEditor locks sometimes on paint... missing UnlockMutex somewhere (?)


SID VIEW: http://www.oxyron.de/html/registers_sid.html


NOT A BUG: windows editor icons do not load properly  -> VirtualBox 'enable 2d/3d acceleration'






la-style> In Monitor i always have to select a range of atleast 2 Bytes to fill a memory Location. You are not able to fill just 1 byte. It always has to be atleast F 1000 1001 31, I cant do F 1000 1000 31 .......hmm


autorundisk entry num

TODO: redirect monitor output to file
TODO: scroll monitor console



TODO: ViewVicEditor proper Deserialise
	*FIXED* a dwa - to i tak nie zadziala dla wiekszej liczby rejestrow ($d011/$d016/$d020/$d021..)


----




------
la-style> In Monitor i always have to select a range of atleast 2 Bytes to fill a memory Location. You are not able to fill just 1 byte. It always has to be atleast F 1000 1001 31, I cant do F 1000 1000 31

autorundisk entry num




moze chodzi o ustawienie z ctrl+shift+f5 ?

isildur 11:05 PM
tak

slajerek 11:05 PM
ah ok

@isildur chyba zrobie to inaczej, bo te ctrl+shift+f5 jest ustawienie pod ten vic display, tj. w zasadzie to glownie do debuga tymczasowe
zrobie kontroler podobny w vic editorze
ale on bedzie juz w comodorku zmieniac

isildur 11:09 PM
super 😃

slajerek 11:09 PM
bedzie lepiej, bo tak sie myla pojecia ze tak powiem
moze to wreszcie polacze wlasnie odrazu z jakims dialogiem "NEW PICTURE" 😃 😃








# Any progress in the more flexible window handling and adding a menu system? A menu system replacing the F9 screen would make it so much more accessible.

x# In-app, context-aware, help would also be great. Standing on the hex view and selecting help giving the info what this is and the keys that works here.

# Getting the native Vice monitor would also be most appreciated. The monitor is really the weak part. If so you might have a little look at the monitor as such an possibly submit a few improvements to the native Vice monitor. Features I would be dearly looking at would be:

* Printing to file:
- Commands such as CHIS is great but you can only get what you can fit on screen as there is no scroll buffer and you cannot print to file. Making a "CHIS 500 >file.txt" would seem very logical, giving you a file with a 500 row computer history.





// int sid_sound_machine_calculate_samples(sound_t **psid, SWORD *pbuf, int nr, int soc, int scc, int *delta_t)
// static int resid_init(sound_t *psid, int speed, int cycles_per_sec, int factor)
// static int residfp_init(sound_t *psid, int speed, int cycles_per_sec, int factor)
// static int fastsid_init(sound_t *psid, int speed, int cycles_per_sec, int factor)
// when changed:    sid_state_changed = 1;
static const resource_int_t common_resources_int[] = {
{ "SidEngine", SID_ENGINE_DEFAULT,
RES_EVENT_STRICT, (resource_value_t)SID_ENGINE_RESID,
&sid_engine, set_sid_engine, NULL },		<------
{ "SidFilters", 1, RES_EVENT_SAME, NULL,
&sid_filters_enabled, set_sid_filters_enabled, NULL },
{ "SidModel", SID_MODEL_DEFAULT, RES_EVENT_SAME, NULL,
&sid_model, set_sid_model, NULL },


TODO: panel z dioda stacji | isildur 1:55 PM mnie jeszcze BAAARDZO brakuje diody stacji w F1

https://drive.google.com/drive/folders/1k1dHTBfGdvNmA803X-6T55GdOwdpXyLF

*PROGRESS*: show watch,memory watch... podglad wybranych komorek pamieci
able to "watch" memory locations. these watches would include a name, and then the values in hex/dec/bin - i would like to be able to define the boundaries of the watch for example, byte, word, text, etc - these watches could be displayed on a separate view, along with disassembly, screen, register information, etc - additional features - from any memory location (memory map, disassembly, etc) pressing ctrl-w will create a "quick watch" - finally - allow 64db to read input file containing predefined watch variables that could be spit out from assemblers, etc - ok - can you have that done by next week







BUG: vic display in NTSC does not calc proper raster lines

TODO: check remote VICE debugger

TODO: sprites browser

TODO: sid view
      stereo sid - two SIDs in one screen


TODO: load t64/tap files


TODO:  the C64 fonts on the Settings are really not fit in my opinion . when i resize the app , the fonts are close to be unreadable. i can attach you printscreen if you want .


TODO: (not sure how to do that...) when i use "d nh startaddress toaddress " command could be cool if you form it with a dialog box . for now its writing the files without extension to "D:\" which i don't have a clue how they got to this drive if i have never wanted to save the files there. except of all my request/nerdish asks , the app is just one of coolest apps around . keep cool ! beer on me very soon



TODO: autorun disk commandline param to run selected file #



TODO: additional labels in memory view: c64 memory is divided into banks, it would be nice if the memory view showed you where these banks begin and end.

TODO: menus!








Some day ago with Isildur we even thought to create an expansion to the d64 with meta tags, disk sheet/sleeves, box arts, anyway...
https://github.com/psenough/teach_yourself_demoscene_in_14_days


artillery: https://www.youtube.com/watch?v=6Sfl5VOszEs




---------

BUG: w vice: przy zapisie na dyskietke na windows, nie robi sie flush - trzeba poczekac chwile i dopiero wtedy d64 sie uaktualni.

- README changelog




- COMMAND LINE to reset in autoload

- setting TO un-pause debugging code when PRG is loaded


- settings: grid settings


- colodore settings



- vic editor: TOOLBAR
- vic editor INFO view: plus może przydało by się:
- info jakie kolory są wybrane w 8x8 pod kursorem?
- info jaka jest pozycja x/y pod kursorem
- jaka jest wartość tła i border ($d021, $d020) ?
- przełącznik hires/multi ?

- Flood fill pixels

- save local snapshot as ...

/////////




2. option to export disassembler only to text . could very ! handy.
3. nice easy way to see all the the keys combinations for the multiple views like CTRL+F1 , CRTL+F2, and which tabs they contain (data dump/memory dump
3. shift+ctrl+0 don't work to unload CARTS when i use AR6
5. the keyboard the escape for me is always to escape the present screen so i prefer to exlude it from the assign-keys , a bit obstructive cause i want to get out of the screen without ! saving which apparently i can't !   <--- ISILDUR?
6. resize of the window don't always align the small frames , for example: SHIFT+CTRL+F2 when resize to full width , it doesn't change the frames (disassembly) respectively , there gaps of space and its a bit annoying.
7. on Winvice there is nice option to make SC command to see the screen in petscii layout , could be nice if there feature/option to do it (not like the CTRL+F1 to show the acutall c64 screen) also here
8. add hinting while moving across over the fields to show added information , like CC , VC panel to display what every field means. just a suggestion , i know its a lot of work to do .
10. maybe its just me but i can't understand how the memory dump is working , the zooming don't work all the time (i don't know why)*FIXED*
and i don't know what it meant for and why the scrolling (page up/down) is not working there but i guess its only me who got troubles on that window. also could be nice to bind the data dump view with the memory view , if i press on hex value for example $1000 , so the memory map will be refeshed. just a suggestion.
sorry if i was messy Marcin Skoczylas don't take it too hard , i am a software tester so i am very picky and nerdish sometimes. i love your tool very much and encourage others to use it too , cause i believe it powerful tool for C64 usres.


Add Memory marker for "DISPLAYED" when VIC accesses data.


- show sprites values

- VIC Display zoom

- VIC Editor: support of VIC_DISPLAY_SHOW_BORDER_NONE



TODO: LINUX UPDATE VIEWPORT

bug: w f4 nie dziala lewy mem zoom




DONE: SAVE SNAPSHOT should pause



- periodically store snapshot to rewind demo



- (test linux), bug remove always on top when dialog open & restore always on top

https://github.com/waskomo/ProjectOne


// TODO: create customizable shortcuts for VicEditor
- VIC EDITOR keyboard shortcuts

- make Vic EDITOR values nicer

- vic display as replacement for real c64 screen with r-click (c64/zoom/display)


- update sid_engine, machnie type in menus (based on write snapshot):     resources_get_int("SidEngine", &sid_engine);
BUG: resid.cc ->  snapshot zapisuje teraz też state.voice_mask...




TODO: vice autoload -d8 bug


TODO: freq sida  note recog? TODO: interval tree, add interval tree to readme



vic display: dodac key shortcut jako switch c64 screen zoom ,




??? bug: jak wlaczasz widok vic display to nie ma priority sprajtow tj. echo sprajt jest wyzej niz



///
MOVE MACOS SETTINGS FOLDER TO .C64Debugger



jak jest cpu jam to reset nie odpauzowuje



snapszot light

waaataaa siiit? set model type zadziala z wczytywanym snapshotem light

// failed to load snapshot, make a full reset, this will likely crash
int model = viewC64->debugInterface->GetC64ModelType();

if (model == 0)
{
viewC64->debugInterface->SetC64ModelType(1);
}
else
{
viewC64->debugInterface->SetC64ModelType(0);
}

SYS_Sleep(200);

viewC64->debugInterface->SetC64ModelType(model);

SYS_Sleep(200);

viewC64->debugInterface->HardReset();


//
xcode plugin: https://github.com/krzysztofzablocki/LinkedConsole

VICE 3.1:
maincpu.h: extern void maincpu_set_pc(int); extern unsigned int maincpu_get_pc(void); (...)
palette.c/h: static palette_info_t palettelist[] = {
uimon: win32?
ciacore/viacore.c: sprawdzic update BYTE c64d_ciacore_peek(cia_context_t *cia_context, WORD addr)


///
REMOVE DEBUG IN DBG_Log.h
Opis

shift+f5 - asm view

TODO:

- LINUX drag&drop


- adapter to show only what was stored in memory

// BUG: Te komunikaty są już z samego VICE, ja przekierowuje linie komend to silnika emulatora i on "nie rozumie" tych parametrow ktore sa dedykowane tylko do debuggera. To taka niedorobka, w zasadzie maly blad, bo powinienem te parametry linii komend ktore juz "wykorzystalem" nie przesylac dalej do VICE. Fakt, dzieki ze zauwazyles - dorzucam do listy rzeczy do zrobienia.

- ctrl on disassemble address => move cursor to address (podkreslenie na mouse over)

- bug: disassemble jest sterowane z rastra przez set pc, force wyswietlanie zawsze current PC innym kolorem (czerwony jako blocked?)



// - scroll monitor console

- podpiac monitor VICE

// TODO: click menu items in Settings menus

- show disabled sprite s data grayed out in VIC state (rebuild display & do not concatenate texts...)
- stały statusbar na dole pod wszystkim z diodami od power/floppy/warp

- http://www.catch22.net/tuts/drag-and-drop-introduction
- select colodore parameters http://www.colodore.com
- PAL scan lines










/////////


*WINDOWS* dialog click: Przy imporcie, -czasami- pojawiają się randomowe pixele, ok 2-5 szt.

*WINDOWS BUG* Przy zmianie skrótu do warp na Alt+W, DBG zmienia go na ALT+E (przy czym ALT+E nie używałem do niczego)




*OK??* F5 - restart from last JMPed address (+ reboot?)


---

EDYTOR:

@slajerek nie wiem, czy dobrze zrozumiałem, ale wydaje mi się, że powinno być: dopóki trzymasz alt to blokuje kolory i stawiasz pixele co drugi (na zmianę kolory) w x i y (w kratkę) i tyle, od następnego naciśnięcia ALT (i przytrzymania) robisz to samo - dither- w miejscu kursora. "Siatka" ditheringu nie może być na "sztywno" jak w P1 na przykład :wink:
a z tym gridem, to też nie do końca rozumiem, ale na podstawie tego, co pisze Compyx chodzi mu o to, że np. Pixcen wyłącza automatycznie grid przy <400% (co dla mnie akurat jest na plus)... ehhh każdemu nie dogodzisz :smile:


jak powinno działać wybieranie koloru w ramach 8x8 w multi
tzn ok mam paletę, wybieram sobie kolor i chcę postawić pixel
i co dalej tzn. który kolor powinienem “podmienić”, pewnie “następny wolny”, ale co gdy są wszystkie “zajęte” ?

Aha bardzo fajną opcją jest rysowanie w trybie UNRESTRICTED HIRES/MULTI, czyli bez ograniczeń C64, ale tylko z użyciem kolorów komodorka.

Sprawdź sobie w wolnej chwili z CSDB: "Project One". PIXCEN, MULTIPAINT
te dwie palety, to tylko tak na test, bo nie wiem, która będzie bardziej funkcjonalna pozioma/pionowa

Dodatkowe info oczywiście, że tak i jak je opisałeś jest super.   ---> + bit order
Ikonki Hires/Multi już są na wcześniejszym screenshocie.







--------------

// TODO: addGuiButtons is temporary, it should be avoided and another view just for these buttons must be created
//       keep CViewC64VicDisplay just a generic display view with callbacks



bug with CPU flags --??




/////////


TODO: zaznaczanie komórek w memory dump i COPY
TODO: M <adr1> <adr2> [file name]   - dump memory



// TODO: mouse zoom? *DONE*skala powiększenia w Ctrl+Shift+F2 w Settings
// low priority: CTak samo skala celownika




// BUG: opcja on/off timerb z cia wprowadzic spowrotem


///


// "cycling" screen:
// 1. Fonty (siatka 8x8)
// 2. Miec co ktorys font (zeby sieczki nie bylo za duzej) z boku legende zeby bylo widac ktory to font na szybko.
// *DONE* 3. Przy cyklowaniu to jakbym mogl zrobic zooma screena np x4 x8 dookola markera rasterbeam'u. To by byla w ogole baaaajka. A ta siatka wtedy by pozwalala sie nie "zgubic" bo bym wiedzial gdzie jestem.

// !!!!!! Na takim ekranie "do cyklowania" memdump w hexie i sprajty etc sa zbedne. Styknie asm+screen+screen zoom+VIC registers i jest bajka.


// go to label z podpowiadaniem


// TODO: I'd like to see more control from the command line so project specific actions could be
// taken such as write the memory to file for a specific set of frames, zoom and view specific
// memory areas (custom views of this? ;-)).



// (?) zaznaczanie banku vic na mem map



// ctrl+f11 run X instructions/lines (selectable in settings)
// shift+f11 jump to next raster vsync
// run selected number of instructions/cycles


// - Different speeds to automatically step through the code (10-100%?)
// run selected number of instructions/cycles










// // wlaczyc MIDI SUPPORT
//       1) NIE LEPIEJ COFNAC SIE DO ORYGINALNEGO COMMITA?
//          // napisac skrypt co robi porzadnego diffa po nazwie pliku - moja wersja vs oryginalna 2.4.0 i listuje pliki.
//          // musi sam namierzac/znajdowac pliki i katalogi  ---- OK.
//
//       2) jesli nie ma roznicy to kopiujemy plik z 2.4.28 do source tree
//       3) jesli jest roznica to patchujemy recznie
*DONE*




// BUGS:

// On Linux GTK dialogs do not work on some machines (seems this is a problem with GTK itself).
// Well, on my 64bit linux I cannot open any file dialog, like when trying to open a prg or cardridge.
//Crash says after trying on open a prg:
//-------------------------------------------
//(C64Debugger:1662): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set
//an error on failure
//(C64Debugger:1662): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set
//an error on failure **
//Gtk:ERROR:/build/gtk+3.0-Ym2tpG/gtk+3.0-3.20.3/./gtk/gtkiconhelper.c:491:ensure_surface_for_gicon:
//assertion failed: (destination)

//    +yugorin



// TODO: PAL CRT emulation



// TODO: upgrade residfp to residfp-1.0




//
// - ICU64 had an option that you could make a snapshot of memory, and compare it so a later snapshot to see which bytes where changed
// (comes in handy for making trainers for games), I'd like to see that in C64 Debugger as well.
// ---> (compare from file monitor command) CF 1000 <file>





// BUG: There seems to be a timing issue with some games. I tried Drelbs, and normal Vice 2.4 runs the game fine, whereas in the new debugger there were random level restarts


// BUG: w main settings w opcji ladowanie d64 po zaladowaniu snapshota bedzie zla wartosc
// BUG: loading snapshot na 8580 moze rozwalic przester: ^^^^^ zrobic analogicznie - ustawic na 6581, a pozniej pociagnac ze snapshota i uaktualnic menu setting
// *FIXED?* BUG: widzialem wlaczony kursor edycji memory dump w lewym gornym rogu ekranu (oops?). confirmed by Isildur

// BUG: 1541 memory map click does not set current value in memory dump








// IDEAS:

//> Powiększanie okna z oddziaływaniem na RAM/ROM - popatrz ICU



// store gfx video with snapshots

// store execute markers with snapshots

// fakt, może widok IO by się też przydał dodatkowo

// *PARTIAL* optimize %2.2x %4.4x to uint8toChar(...


//> - dzieją się rzeczy dziwne :) po fullscreenie *sid zaczął grać ... dziwnie ...*


///Thanks to Scan of House Designs for help in tracking the D64 loader problem with Spindle.



// TODO: @Slayerek: Would you be able to record some sort of screencast with feature walkthrough? :)   --> riverwash


DONE: Raw text is just a raw text, so a dump of current character video memory (f.e. values stored in 0400-07E7), followed by color memory (values stored in D800-DBE7), followed by background colour (value stored in D021).


DONE: dodac w vic editor nowy layer 'reference' pod display/c64 (wtedy display/c64 kolor d021 oznacza przezroczystosc). to unrestricted nieedytowalny.
DONE: FIXED bug: win32 only: show cmd line error/help in messagebox
DONE: shift+ctrl+C isildur: mam taki mały i dosyć ciekawy request: żeby po kliknięciu na wartość w tabeli lub na ekran/bitmapę/charset automatycznie ten adres kopiował się do schowka, ew. ctrl+c, (jak na obrazku) co sądzisz?
*DONE* VicEditor ctrl+N create new image
*DONE*: obok przyciskow bedzie paleta zeby wybrac kolor tla
DONE click on VIC status to see registers click w VIC State - show pure register values
DONE click on SID status to see registers click w SID State - show pure register values
DONE click on CIA status to see registers click w CIA State - show pure register values
DONE click on VIA status to see registers click w VIA State - show pure register values

DONE: isildur: da się zapisać/odtworzyć jakie layersy są włączone?

DONE:
VIC Display - select "CHARSET" mode
The Debugger now supports checking where was written SCREEN, BITMAP, COLOUR, unfortunately not CHARSET. I will add this into my TODO list, but this can also be easily achieved. By Ctrl+Clicking on a value in memory dump it will move assembly code to place that wrote the value.
*FIXED*: I am not able to zoom in on memory map on .64 release. (?)
DONE:
?musze zrobic callback cos w stylu 'zainicjalizuj VIC' z VCE
?dorzucam do TODO, thx for report 🙂
???	viewC64->debugInterface->SetVicRegister(0x20, colorD020);
???	SYS_Sleep(100);
???	viewC64->debugInterface->SetVicRegister(0x21, colorD021);
*DONE*: 2. on the Monitor console is a bit elusive , as the marker in not auto-focus on the Monitor pane. take me a time to focus on the monitor. but maybe its just me hehe small "nice to have option" (which ofcourse its just my experience maybe other will say the opposite. its okay we are different in our GUI Experience )

DONE? VicEditor set VIC regs on import
*DONE*. Able to change the background of the tabs especially the Disassembly . black is sometimes not so nice and i prefer whiter themes/ or background selections (from default selections )
*DONE* to bold the tabs !! they almost unseen with the tick of them.



*DONE* Z tymi kolorami jest tak, że w P1 jak wykorzystałeś już  kolory, to masz blokadę ijak chcesz podmienić kolor to robisz to przez CTRL+LMB z nowym kolorem (ta opcja mnie najbardziej pasuje), ale będą na 100% narzekania i to dałbym do wyboru opcje KEEP/REPLACE color.

Teraz najważniejsze skróty klawiszowe:
*DONE* SHIFT+LMB - pobierz kolor pod kursorem
*DONE* CTRL+LMB - wypełnij pixele pod kursorem kolorem wybranym z palety
*DONE* ALT+LMB - dither painting, czyli stawianie na zmianę pixeli z wybranych kolorów foreground/background

*DONE* X - zamiana miejscami kolorów foreground/background (X - nie na obrazku, a tylko w palecie jak w PS)
*DONE* CTRL+wheel - zoom in/out zarówno w głównym oknie edycji, jak i w podglądzie, przy czym nie płynnie, a skokowo np. 25%, no chyba, że da się lepiej i prościej w wersji płynnej.

*DONE* [     ] -  zmniejszenie/powiększenie brush'a - jak w PS


*DONE*
Można zrobić wybieranie kolorów z klawiatury 1...0 plus SHIFT+1...0, albo tak jak w wartościach kolorów 1...0  $0b (B), $0A (A) itd.
* Na razie zrobilem 12345678qwertyui bo blokuje mi inne potrzebne shortcuty

Wybor koloru:
*DONE*duży kwadrat na pierwszym planie pokazuje którym kolorem rysujesz LMB i ten na drugim planie kolor rysowany przez RMB (zazwyczaj służy jako ERASE), czarny kwadrat po nimi to kolor tła $D021 i mały kwadrat zamiana miejscami jak w Photoshopie



* w sumie może być tylko open/save, a jak będzie się otwierać PNG to wtedy będzie z opcjami, ale to jak chcesz. Zrobię jak Ci wygodniej

*DONE* okno z prv zoom musi być ruchome, żeby odsłaniać tam zasłonięty obszar obrazka i to samo z palette


// *DONE?* shifted keys do not work on windows


// *DONE*zoom in ekranu c64 ?>?<??>??

*DONE* upgrade to VICE3
*DONE*: if could be nice /better way to save Koala pictures then to the go VIC Editor screen and do Export. maybe 1 button to open dialog and to save Koala . so is for char+screen+color memory (nice for ripping stuff ;-)




////////////////////





//czarny ekran
//napis sei
//
//leci kod z kernela c64
//
//out -> na prawo przewija
//
//c64 sie bootuje wpisujemy load
//
//
//===
//
//w trakce pokaz debuggera
//
//===
//
//





//http://www.studiostyle.sk/dmagic/gallery/gfxmodes.htm

//http://unusedino.de/ec64/technical/aay/c64/
//http://www.ffd2.com/fridge/docs/c64-diss.html

//https://www.c64-wiki.com/index.php/Extended_color_mode

//http://www.mikesenese.com/DOIT/2011/03/twelve-awesome-commodore-64-hacks-and-projects-and-a-gallery-of-classic-c64-game-discs/






